package com.code2roc.jarmanage.servlet.proxy;

import com.code2roc.jarmanage.db.ProxyDB;
import com.code2roc.jarmanage.depoly.DepolyServiceFactory;
import com.code2roc.jarmanage.depoly.DepolyStatus;
import com.code2roc.jarmanage.model.ProxyDO;
import com.code2roc.jarmanage.model.Result;
import com.code2roc.jarmanage.util.CommonUtil;
import com.code2roc.jarmanage.util.ConvertUtil;
import com.code2roc.jarmanage.util.StringUtil;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;

public class ProxyListServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Result result = Result.okResult();
        HashMap paramMap = CommonUtil.getParamMap(req);
        String proxyName = ConvertUtil.convert2String(paramMap.get("proxyName"));
        int pageIndex = ConvertUtil.convert2Int(paramMap.get("pageIndex"));
        int pageSize = ConvertUtil.convert2Int(paramMap.get("pageSize"));
        String sql = "1=1";
        if (!StringUtil.isEmpty(proxyName)) {
            sql += " and proxyName like '%" + proxyName + "%'";
        }
        List<ProxyDO> entityList = ProxyDB.selectList(sql);
        int total = entityList.size();
        entityList = entityList.stream().skip((pageIndex-1)*pageSize).limit(pageSize).collect(Collectors.toList());
        result.add("total", total);
        result.add("rows", entityList);
        resp.getWriter().println(result.toString());
    }
}
